導(dǎo)讀:某天VIp大講堂微信群里的一位同學(xué)說網(wǎng)站被人掛馬了,查了半天也查不到原因。藝龍SEO負(fù)責(zé)人劉明問了一句“是不是技術(shù)把linux系統(tǒng)里網(wǎng)站的核心目錄設(shè)置777文件權(quán)限了”,同學(xué)查后
發(fā)表日期:2020-06-05
文章編輯:興田科技
瀏覽次數(shù):9907
標(biāo)簽:
某天VIp大講堂微信群里的一位同學(xué)說網(wǎng)站被人掛馬了,查了半天也查不到原因。藝龍SEO負(fù)責(zé)人劉明問了一句“是不是技術(shù)把linux系統(tǒng)里網(wǎng)站的核心目錄設(shè)置777文件權(quán)限了”,同學(xué)查后發(fā)現(xiàn)果然如此。那么,777是什么?老虎機(jī)嗎?愛偷懶的程序員都該會心一笑,省事大法啊。這簡單的數(shù)字背后代表了一套偉大的文件權(quán)限控制思想。院長趕緊請劉明長敘一篇,讓我們隨著劉明的解釋慢慢理解。
一、當(dāng)用戶訪問一個網(wǎng)頁
這個時候,你的服務(wù)器內(nèi)部發(fā)生了什么,請參考下圖。其中任何一個環(huán)節(jié)有漏洞,都會出問題。注意,本圖片只代表個人理解,并非真實(shí)流程。
二、文件的權(quán)限只有三種
查詢一下linux的標(biāo)準(zhǔn)文檔,就知道。文件分為,讀、寫、執(zhí)行三種權(quán)限。
r Read 可以打開并讀取內(nèi)容。
w Write 可以修改內(nèi)容,增加內(nèi)容,甚至刪除內(nèi)容。
x Execute 可以當(dāng)做可執(zhí)行程序,或者shell腳本執(zhí)行。
特別注意,對于目錄來說,x表示可以瀏覽他里頭都有什么文件。
三、文件權(quán)限針對的是三類用戶。
owner 文件所有者,或者說是創(chuàng)建了這個文件的人。
group 文件所在的組,一個組可以包含很多個owner,但不一定包含當(dāng)前文件這個owner。
other 其他人,也就是除了當(dāng)前這個owner,除了當(dāng)前這個group外的所有人。
四、實(shí)際是什么樣子的。
linux中所有文件都需要記錄這3種權(quán)限和3種人群。3x3=9,再加上一個標(biāo)記表示“這是不是一個目錄”,一共10個標(biāo)記。如圖所示,
這12行表示12個文件,都是一個叫sin的人創(chuàng)建都,而且sin的分組是staff。
五、詳細(xì)解釋一下。
我們從前到后逐一說一遍。寫著子母(drwx)的,表示有這個權(quán)限。寫著橫線(-)的,表示沒有這個權(quán)限。
drwxrwxrwx
1: 這是不是一個文件夾。d表示是,-表示否。(如果寫的是l,可以理解為他是快捷方式)
2:owner是否可以讀取這個文件的內(nèi)容。r表示是,-表示否。
3:owner是否可以改寫這個文件的內(nèi)容。w表示是,-表示否。
4: owner是否可以執(zhí)行這個文件。x表示是,-表示否
5:group是否可以讀取這個文件的內(nèi)容。r表示是,-表示否。
6: group是否可以改寫這個文件的內(nèi)容。w表示是,-表示否。
7: group是否可以執(zhí)行這個文件。x表示是,-表示否。
8: other是否可以讀取這個文件的內(nèi)容。r表示是,-表示否。
9:other是否可以改寫這個文件的內(nèi)容。w表示是,-表示否。
10:other是否可以執(zhí)行這個文件。x表示是,-表示否。
六、怎么用數(shù)字方便的表示文件權(quán)限。
因?yàn)?0個位置中,第1個不是權(quán)限,我們就只看后邊9個位置。
如何把這個權(quán)限轉(zhuǎn)化成數(shù)字呢?rwxrw-r--
owner group other
符號 r w x r w - r - -
二進(jìn)制1 1 1 1 1 0 1 0 0
相加之和 7 6 4
111 = 2^2 + 2^1 + 2^0 = 7
110 = 2^2 + 2^1 =6
100 = 2^2 = 4
所以rwxrw-r--就變成了:764
七、常用的權(quán)限數(shù)字
常用更改文件權(quán)限的命令,xxx代表文件名
600 只有owner有讀和寫的權(quán)限
644 owner有讀和寫的權(quán)限,group只有讀的權(quán)限
700 只有ower有讀和寫以及執(zhí)行的權(quán)限
666 owner,group,other都有讀和寫的權(quán)限
777 owner,group,other都有讀和寫以及執(zhí)行的權(quán)限
八、終于講到正題了
講了這么說,你應(yīng)該明白777的意思就是,任何人可以干任何事。那等于什么權(quán)限都沒設(shè)??!linux再安全也架不住自己人刻意制造漏洞吧。這完全等同于把鋼鐵俠屁股上的材料換成了窗戶紙。
linux的安全原則是最小權(quán)限原則,能不給的權(quán)限就不要給。而很多懶惰或者新手的程序員往往為了省事使用最大權(quán)限。
有的人問,網(wǎng)站需要上傳圖片,需要w很正常,否則圖片放哪呢。那我想問,你家的房子,是不是可以隨便挪動?冰箱能挪動,承重墻能挪的動嗎?請注意,客廳,臥室,廁所,廚房的空間都是rw的,但是承重墻只能是r的,不能隨便w。
同理,網(wǎng)站核心代碼是不可寫的,只能可讀。
學(xué)會了權(quán)限的基本支持,怎么運(yùn)用呢?(只能說大概意思,具體應(yīng)該怎么部署,還是找專業(yè)都運(yùn)維同學(xué)問吧,我好久沒碰web了。)
假設(shè)我把核心代碼放在/var/www/,我把圖片放在/var/pic/。前者目錄rw,里頭所有文件r。后者本身w,里頭所有文件r
webserver只能解析/var/www/里的文件,不能執(zhí)行/var/pic/里的。這樣不至于讓人家把木馬程序放到/var/pic/里執(zhí)行。
由于每個網(wǎng)站使用的語言都不一樣,無法做一個統(tǒng)一說明,只能舉幾個例子。假如你的網(wǎng)站使用php語言,植入的木馬基本也都是php語言寫的命令。
可以分別試試這兩個命令,因?yàn)閜hp木馬常用eval和create_function來做壞事(說/var/www/路徑不存在的同學(xué),面壁思過10分鐘)。
grep "eval(" /var/www/* -r
grep "create_function(" /var/www/* -r
請注意,并不是沒有用777權(quán)限,就萬無一失了,web的漏洞多如牛毛,無孔不入,本文章只是拋磚引玉。
更多新聞
2020
關(guān)于網(wǎng)站建設(shè),下面小編告訴大家怎樣來提高網(wǎng)站建設(shè)的權(quán)重? 1標(biāo)題:確保網(wǎng)站每一個標(biāo)題的唯一性也是網(wǎng)站優(yōu)化者必須注重的,只有唯一性才能給你的網(wǎng)站帶來
View details
2019
從字面含義來說,網(wǎng)絡(luò)推廣重在“推廣”二字,強(qiáng)調(diào)的是方法和執(zhí)行。只需要用各種方法,將產(chǎn)品信息發(fā)布出去,讓更多的人看到這些信息,把任務(wù)量完成即可。其成功的關(guān)鍵是執(zhí)行力,針對網(wǎng)
View details
2023
蘭考網(wǎng)站優(yōu)化是提升網(wǎng)站在搜索引擎中排名的關(guān)鍵策略。通過關(guān)鍵字研究、網(wǎng)站結(jié)構(gòu)優(yōu)化、內(nèi)容優(yōu)化和外部鏈接建設(shè)等措施,可以提高網(wǎng)站流量和可信度,幫助企業(yè)達(dá)到更好的宣傳和銷售效果。無論您是自行優(yōu)化還是委托專業(yè)公司,都需要耐心和持之以恒的態(tài)度,才能取得理想的成果。蘭考網(wǎng)站優(yōu)化是一個長期且持續(xù)的過程,但它將為您帶來可觀的收益。
View details
2020
關(guān)于網(wǎng)站建設(shè),很多中小企業(yè)已經(jīng)意識到建設(shè)網(wǎng)站對企業(yè)推廣的重要性,少部分企業(yè)進(jìn)行了相關(guān)的優(yōu)化,讓企業(yè)的產(chǎn)品或者能夠提供的服務(wù)在搜索引擎上得到較好的
View details